package org.jeecg.modules.demo.ch.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * @Description: HUB仓数据
 * @Author: jeecg-boot
 * @Date:   2022-10-12
 * @Version: V1.0
 */
@Data
@TableName("ch_hub")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ch_hub对象", description="HUB仓数据")
public class ChHub implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**据点（XCBZCOMP）*/
	@Excel(name = "据点（XCBZCOMP）", width = 15)
    @ApiModelProperty(value = "据点（XCBZCOMP）")
    @NotBlank(message = "据点不能为空")
    private String inatsite;
	/**料件编号（cmt_xcbz003）*/
	@Excel(name = "料件编号（cmt_xcbz003）", width = 15)
    @ApiModelProperty(value = "料件编号（cmt_xcbz003）")
    private String inat001;
	/**库存管理特征（cmt_xcbz005）*/
	@Excel(name = "库存管理特征（cmt_xcbz005）", width = 15)
    @ApiModelProperty(value = "库存管理特征（cmt_xcbz005）")
    private String inat003;
	/**HUB仓代码（cmt_xcbz006）*/
	@Excel(name = "HUB仓代码（cmt_xcbz006）", width = 15)
    @ApiModelProperty(value = "HUB仓代码（cmt_xcbz006）")
    private String inat004;
	/**批号（cmt_xcbz008）*/
	@Excel(name = "批号（cmt_xcbz008）", width = 15)
    @ApiModelProperty(value = "批号（cmt_xcbz008）")
    private String inat006;
	/**单位（cmt_xcbz009）*/
	@Excel(name = "单位（cmt_xcbz009）", width = 15)
    @ApiModelProperty(value = "单位（cmt_xcbz009）")
    private String inat007;
	/**年度*/
	@Excel(name = "年度(cmt_Xcbz001)", width = 15)
    @ApiModelProperty(value = "年度")
    @NotBlank(message = "年度不能为空")
    private String inat008;
	/**期别*/
	@Excel(name = "期别()", width = 15)
    @ApiModelProperty(value = "期别")
    @NotBlank(message = "期别不能为空")
    @Length(min = 1,max = 2,message = "长度限制最短是1,最长为2")
    @Min(value = 1,message = "期别最小为1月")
    @Max(value = 12,message = "期别最大为12月")
    private String inat009;
	/**单价*/
	@Excel(name = "单价", width = 15)
    @ApiModelProperty(value = "单价")
    private String inat010;
	/**期末结存数量（cmt_xcbz901）*/
	@Excel(name = "期末结存数量（cmt_xcbz901）", width = 15)
    @ApiModelProperty(value = "期末结存数量（cmt_xcbz901）")
    private String inat015;
    /**本期入库的数量（cmt_xcbz201）*/
    @Excel(name = "本期入库的数量（cmt_xcbz201）", width = 15)
    @ApiModelProperty(value = "本期入库的数量（cmt_xcbz201）")
    private String inat016;
	/**客户数量*/
	@Excel(name = "客户数量", width = 15)
    @ApiModelProperty(value = "客户数量")
    private String customerQty;
	/**当前数量*/
	@Excel(name = "当前数量", width = 15)
    @ApiModelProperty(value = "当前数量")
    private String currentQty;
	/**结余数量*/
	@Excel(name = "结余数量", width = 15)
    @ApiModelProperty(value = "结余数量")
    private String remainder;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
}
